﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum УсловияСкидкиНаценки
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"2b905dc2-88e3-48cc-96fc-e8448cb16588\", \"Представление\":\"ПоВидуОплаты\"}")]
		ПоВидуОплаты = 0,//По виду оплаты
		[EnumMember(Value = "{\"Ссылка\":\"23aa1388-464b-4ef9-8b58-a30cdd456976\", \"Представление\":\"ПоДисконтнойКарте\"}")]
		ПоДисконтнойКарте = 1,//По дисконтной карте
		[EnumMember(Value = "{\"Ссылка\":\"94e9657e-afec-4363-9a86-f48bda199fbd\", \"Представление\":\"ПоКоличествуТовара\"}")]
		ПоКоличествуТовара = 2,//Количество одного товара в документе превысило
		[EnumMember(Value = "{\"Ссылка\":\"de06e028-7c20-410e-85ae-f2b4034d1f30\", \"Представление\":\"ПоСуммеДокумента\"}")]
		ПоСуммеДокумента = 3,//Сумма документа продажи превысила 
		[EnumMember(Value = "{\"Ссылка\":\"f53a0b12-e139-4ae4-8c1e-f6e629a9b388\", \"Представление\":\"РучнаяСкидка\"}")]
		РучнаяСкидка = 4,//Ручная скидка
		[EnumMember(Value = "{\"Ссылка\":\"4ff94537-b759-48e3-a322-3a1307b3934d\", \"Представление\":\"БезУсловий\"}")]
		БезУсловий = 5,//Без условий
		[EnumMember(Value = "{\"Ссылка\":\"64acff1d-8551-4059-8e31-0c8526b1eec3\", \"Представление\":\"СпецПредложение\"}")]
		СпецПредложение = 6,//Спец. предложение
		[EnumMember(Value = "{\"Ссылка\":\"735174ed-aa3a-46ec-a6f6-1431ece9ed46\", \"Представление\":\"ПоВидуДисконтныхКарт\"}")]
		ПоВидуДисконтныхКарт = 7,//По виду дисконтных карт
	}
	public static partial class УсловияСкидкиНаценки_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПоВидуОплаты = new Guid("44e8fc96-b18c-8865-48cc-88e32b905dc2");//По виду оплаты
		public static readonly Guid ПоДисконтнойКарте = new Guid("0ca3588b-45dd-7669-4ef9-464b23aa1388");//По дисконтной карте
		public static readonly Guid ПоКоличествуТовара = new Guid("8bf4869a-19da-bd9f-4363-afec94e9657e");//Количество одного товара в документе превысило
		public static readonly Guid ПоСуммеДокумента = new Guid("b4f2ae85-4d03-301f-410e-7c20de06e028");//Сумма документа продажи превысила 
		public static readonly Guid РучнаяСкидка = new Guid("e6f61e8c-a929-88b3-4ae4-e139f53a0b12");//Ручная скидка
		public static readonly Guid БезУсловий = new Guid("133a22a3-b307-4d93-48e3-b7594ff94537");//Без условий
		public static readonly Guid СпецПредложение = new Guid("850c318e-b126-c3ee-4059-855164acff1d");//Спец. предложение
		public static readonly Guid ПоВидуДисконтныхКарт = new Guid("3114f6a6-e9ec-46ed-46ec-aa3a735174ed");//По виду дисконтных карт
		public static УсловияСкидкиНаценки Получить(this УсловияСкидкиНаценки Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static УсловияСкидкиНаценки Получить(this УсловияСкидкиНаценки Значение, Guid Ссылка)
		{
			if(Ссылка == ПоВидуОплаты)
			{
				return УсловияСкидкиНаценки.ПоВидуОплаты;
			}
			else if(Ссылка == ПоДисконтнойКарте)
			{
				return УсловияСкидкиНаценки.ПоДисконтнойКарте;
			}
			else if(Ссылка == ПоКоличествуТовара)
			{
				return УсловияСкидкиНаценки.ПоКоличествуТовара;
			}
			else if(Ссылка == ПоСуммеДокумента)
			{
				return УсловияСкидкиНаценки.ПоСуммеДокумента;
			}
			else if(Ссылка == РучнаяСкидка)
			{
				return УсловияСкидкиНаценки.РучнаяСкидка;
			}
			else if(Ссылка == БезУсловий)
			{
				return УсловияСкидкиНаценки.БезУсловий;
			}
			else if(Ссылка == СпецПредложение)
			{
				return УсловияСкидкиНаценки.СпецПредложение;
			}
			else if(Ссылка == ПоВидуДисконтныхКарт)
			{
				return УсловияСкидкиНаценки.ПоВидуДисконтныхКарт;
			}
			return УсловияСкидкиНаценки.ПустаяСсылка;
		}
		public static byte[] Ключ(this УсловияСкидкиНаценки Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this УсловияСкидкиНаценки Значение)
		{
			switch (Значение)
			{
				case УсловияСкидкиНаценки.ПоВидуОплаты: return ПоВидуОплаты;
				case УсловияСкидкиНаценки.ПоДисконтнойКарте: return ПоДисконтнойКарте;
				case УсловияСкидкиНаценки.ПоКоличествуТовара: return ПоКоличествуТовара;
				case УсловияСкидкиНаценки.ПоСуммеДокумента: return ПоСуммеДокумента;
				case УсловияСкидкиНаценки.РучнаяСкидка: return РучнаяСкидка;
				case УсловияСкидкиНаценки.БезУсловий: return БезУсловий;
				case УсловияСкидкиНаценки.СпецПредложение: return СпецПредложение;
				case УсловияСкидкиНаценки.ПоВидуДисконтныхКарт: return ПоВидуДисконтныхКарт;
			}
			return Guid.Empty;
		}
	}
}